Type Systems of Scripting Languages

نویسندگان

  • Andi Bejleri
  • Susan Eisenbach
چکیده

Type systems play an important role in the design of programming languages, they prevent programs from having non-correct behavior. Typically, type systems are expressed in two ways, type-checking and type inference. The type information presented on local variables and method arguments makes the difference in choosing one technique rather than the other. Type checking is a derivation type inference. In literature, the time when type-checking occurs, compile or run time, classifies them in static and dynamic. We will take a look on the type systems of some scripting languages. In this paper, we will focus on JavaScript, Python and Ruby. Most scripting languages use dynamic typing. However, we will see some recent work on providing them with static type-checking, soft-typing and type inference. We will discuss about their dynamic and lightweight properties and also about the trade off between the advantages of using static type-checking and the preservation of their properties. We will talk about the object-oriented features presented in scripting languages looking at Smalltalk [Ing78] as the first object-oriented programming language. We will look also at recent works on pluggable type systems [Bra04, ANM06] and on PyPy[RP06], a translation tool from Python to C.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Fluid Object Types

Objects in popular scripting languages are lightweight and dynamic. Programmers use these objects in ways that confound existing type systems. We present a core calculus, λ S , that distills the essence of objects in a number of scripting languages. Using λ S , we examine characteristic object-oriented scripting idioms that are untypable by conventional type systems. We develop fluid object typ...

متن کامل

Research Overview

Modern systems built for the desktop, the web, and the cloud are increasingly being developed in several languages, share code and data with multiple parties of varying levels of authority and trust, and run in environments split across client and server. My goal is to design programming language tools — including type systems, program analysis, dynamic instrumentation, and integrated developme...

متن کامل

The Role of Algorithmic Applications in the Development of Architectural Forms (Case Study:Nine High-Rise Buildings)

The process of developing architectural forms has greatly been changed by advances in digital technology, especially in design tools and applications. In recent years, the advent of graphical scripting languages in the design process has profoundly affected 3D modeling. Scripting languages help develop algorithms and geometrical grammar of shapes based on their constituent parameters. This stud...

متن کامل

Filters as a Language Support for Design Patterns in Object-oriented Scripting Languages 1.1 Scripting Languages 1.2 Scripting and Object Orientation

Scripting languages are designed for glueing software components together. Such languages provide features like dynamic extensibility and dynamic typing with automatic conversion that make them well suited for rapid application development. Although these features entail runtime penalties, modern CPUs are fast enough to execute even large applications in scripting languages eeciently. Large app...

متن کامل

Reconciling method overloading and dynamically typed scripting languages

The Java Virtual Machine (JVM) has been adopted as the executing platform by a large number of dynamically typed programming languages. For example, Scheme, Ruby, Javascript, Lisp, and Basic have been successfully implemented on the JVM and each is supported by a large community. Interoperability with Java is one important requirement shared by all these languages. We claim that the lack of typ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007